//题目链接：https://www.nowcoder.com/practice/50e1a93989df42efb0b1dec386fb4ccc?tpId=230&tqId=38963&ru=/exam/oj
#include <iostream>
using namespace std;

const int N = 1010;
long long a[N][N] , b[N][N];
int n,m,q;
void Insert(int x1, int y1 , int x2 , int y2 , int k)
{
    b[x1][y1] += k;
    b[x2+1][y1] -= k;
    b[x1][y2+1] -= k;
    b[x2+1][y2+1] += k;
}
int main()
{
    scanf("%d%d%d",&n,&m,&q);
    for(int i = 1 ; i <= n ; ++i)
    {
        for(int j = 1 ; j <= m ; ++j)
        {
            scanf("%lld",&a[i][j]);
            Insert(i,j,i,j,a[i][j]);
        }
    }
    while(q--)
    {
        int x1,x2,y1,y2,k;
        scanf("%d%d%d%d%d",&x1,&y1,&x2,&y2,&k);
        Insert(x1,y1,x2,y2,k);
    }
    for(int i = 1 ; i <= n ; ++i)
    {
        for(int j = 1 ; j <= m ; ++j)
        {
            b[i][j] += b[i-1][j] + b[i][j-1] - b[i-1][j-1];
            printf("%lld ",b[i][j]);
        }
        puts("");
    }
    return 0;
}